/*
 * Copyright (C) 2010 Mamadou Diop.
 *
 * Contact: Mamadou Diop <diopmamadou(at)doubango.org>
 *       
 * This file is part of idoubs Project (http://code.google.com/p/idoubs)
 *
 * idoubs is free software: you can redistribute it and/or modify it under the terms of 
 * the GNU General Public License as published by the Free Software Foundation, either version 3 
 * of the License, or (at your option) any later version.
 *       
 * idoubs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
 * See the GNU General Public License for more details.
 *       
 * You should have received a copy of the GNU General Public License along 
 * with this program; if not, write to the Free Software Foundation, Inc., 
 * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 *
 */

#import "DWSafeObject.h"


@implementation DWSafeObject

-(DWSafeObject*) init{
	self = [super init];
	
	if(self){
		self->mutex = tsk_mutex_create();
	}
	
	return self;
}

-(BOOL) lock{
	return (tsk_mutex_lock(self->mutex) == 0);
}

-(BOOL) unlock{
	return (tsk_mutex_unlock(self->mutex) == 0);
}

-(void) dealloc{

	tsk_mutex_destroy(&self->mutex);
	[super dealloc];
}

@end
